import Vue from 'vue'
import App from './App'
import uView from "uview-ui";
// 页面路径：main.js
import store from './store'

Vue.prototype.$store = store

Vue.use(uView);


Vue.config.productionTip = false

App.mpType = 'app'

const app = new Vue({
  ...App,
  store
})
app.$mount()

uni.$u.http.setConfig((config) => {
  /* config 为默认全局配置*/
  config.baseURL = `https://api-hmugo-web.itheima.net/api/public/v1`; /* 根域名 */
  return config
})


// 设置请求拦截器 添加loading
uni.$u.http.interceptors.request.use(
  (config) => {
    // 获取token
    // console.log(store.state.user);
    const token = store.state.user.token || uni.getStorageSync("token");
    // console.log(token);
    // 可使用async await 做异步操作
    // config.header.Authorization = token;
    // /my/开头的请求加上token
    if (config.url.startsWith("/my/") && token) {
      config.header.Authorization = token;
    }
    // console.log(config);
    
    // 可使用async await 做异步操作
    uni.showLoading();
    return config;
  },
  (config) => {
    // 可使用async await 做异步操作
    return Promise.reject(config);
  }
);

// 设置响应拦截器 关闭loading
uni.$u.http.interceptors.response.use(
  (response) => {
    uni.hideLoading();
    return response;
  },
  (response) => {
    /*  对响应错误做点什么 （statusCode !== 200）*/
    console.log(response);
    return Promise.reject(response);
  }
);